#pragma once

class WaveletPitchProcessor;
class PitchOut;
class Sample;

class PitchAnalysis
{
public:
	PitchAnalysis(void){pitchOut=NULL;}
	~PitchAnalysis(void){}
	int frequency;
	bool voiced;
	PitchOut* pitchOut;
};

class PitchTracker
{
public:
	PitchTracker(const	unsigned	int	bufferSize,
				 const	unsigned	int	samplingFrequency);
	~PitchTracker(void);

	void Analyze(Sample* sample, double amplitudeThreshold, double noiseThreshold, PitchAnalysis* analysis);

	WaveletPitchProcessor* processor;
	int lastPitch;
};
